home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 42
/
Amiga Format AFCD42 (Issue 126, Aug 1999).iso
/
-serious-
/
programming
/
other
/
gui4cli
/
docs
/
changes_old
< prev
next >
Wrap
Text File
|
1999-05-14
|
23KB
|
575 lines
================================================================
=== VERSION 3.6 CHANGES ------------------------------------->>>
================================================================
Events & Commands :
- Event : xTIMER TIME|SINGLE|REPEAT TIME|INTERVAL ON|OFF
will provide you with accurate timing events - see the guide
for details.
- ClipBoard support for text clips is now provided for listviews.
o When you load a file called Clips:0 (or any number 0-255) then
the lv will load whatever is in that clipboard unit.
o When you save a file whose file path starts with "CLIPS:" i.e.
something like Clips:3, the lv will be saved to the given
clipboard unit in correct iff format.
o Moreover listviews will load any IFF-FTXT file correctly.
- SHAREMENU GuiName - (Global command)
Will share the menus of the named gui file. When the menu is
selected it will be as if the other gui's (the one which has the
actual menu events in it) menu was selected and all commands
attached to it will be executed.
- Menus will now accept many BARLABEL items.
- Now you can give '#This' as the gui file name, and it will
mean the current file - i.e. GuiOpen #This - will mean : open
the file that this command appears in. This gives you more
independent code.
- CONTROL-R will now execute all xOnClose/Quit/Load commands
it encounters while Re-Loading a file. Note that your gui
will not re-open if there is no guiopen command in the
xOnLoad event.
- RESINFO FontHeight ScreenWidth ScreenHeight - is a new Global
command with which you can give some info to Gui4Cli to enable
it to resize the gui correctly on other people's systems.
- Worked around gadtools limitation by which when you move a
listview with the scroller and after try to continue with the
arrow keys, it snaps back to the last record you had clicked
on - now Gui4Cli will guess the line and scroll correctly.
ARexx :
- There is now a global variable named *REXXVAR which has
special meaning. You use it as you would any global variable
but when someone sends a rexx command to Gui4Cli from a
rexx program which has OPTIONS RESULTS declared, then the
contents of this variable will be returned and will be
available from withing arexx as variable RESULT. So...
>> SetVar "*REXXVAR" "'$mygui.gc/myvar'"
..would put whatever is in $mygui.gc/myvar into RESULT.
Note the use of the quotes: one set for arexx, another for
Gui4Cli (since $mygui.gc/myvar could be a string of words).
- If you set OPTIONS RESULTS you will now cause the Gui4Cli
command you have sent from an ARexx program to be executed
synchronously. This has the advantage of returning a result.
Without OPTIONS RESULTS the execution is asynchronous.
- Also fixed some Gui4Cli<->ARexx communication errors..
You can now run a rexx program with a public port and have
it communicate back and forth with Gui4Cli without the
deadlocks that used to occur.
C Programmers Interface :
- Have provided an include file with Gui4Cli internal
structures and set up a mechanism whereby you can communicate
with Gui4Cli, and in effect provide extensions to Gui4Cli's
command set, as follows :
- From outside programs -to-> Gui4Cli
a) Send message and LOCK Gui4Cli, look at it's internal
structures, manipulate variables, listviews etc, and then
unlock it again, and let it continue, or
b) Send command lines for it to execute (like rexx msgs)
- From Gui4Cli -to-> outside programs
Use the new command :
> CALL PortName Command Arg1 Arg2... Arg6
to send special Gui4Cli messages containing commands
to outside programs, who should then process the commands
using, if they want, any of Gui4Cli's internal structures,
and give control back to Gui4Cli (maybe returning something)
See the examples in the "Guis:Ext" directory for more info.
IMPORTANT NOTE :
- Changes have been made to the structures of the BETA version
that was on my page !!! - Recompile or crash.
Extensions :
Two extensions can already be found in guis:ext :
- GCSound - a 8SVX sample player (mono only for now) with the
ability to load & play many samples simuiltaneously, change
speed & volume while playing etc - Full gui is available in
the same directory.
- LVFormat - various functions which act on the current listview
like : wordwrap, indent, justify etc
New internal variables :
$$SYS.AW - Active Window Title (may or may not be a Gui4Cli window)
$$SYS.AS - Active Screen title
$$SYS.ASN - Active Screen Name (if it's public)
$$SYS.FS - Frontmost Screen Title
$$SYS.FSN - Frontmost Screen Name (if it's public)
If you need other data (width etc) you can SetScreen the current
gui to the name you want (no need to open it) and read the
$$SRC.xx vars.
$$SYS.TIME - the current time (ex: 10:30:25 - hh:mm:ss)
$$SYS.TS - the seconds part of the above time (i.e. 25)
$$SYS.TM - the minutes part (i.e. 30)
$$SYS.TH - the Hours part (i.e. 10)
$$SYS.DATE - the date (see below for formats)
- following available *only* for dd-mm-yy (CDN) format:
$$SYS.DD - the Day part of the above date
$$SYS.DM - the month part
$$SYS.DY - the year part
$$SYS.DAY - the day of the week (i.e. Monday)
By default the date format is DD-MM-YY (15-07-98)
You can change this with the SET command :
> SET DATEFORMAT number - where number can be:
0 = DOS format -> dd-mmm-yy (15-Apr-98)
1 = INT format -> yy-mm-dd
2 = USA format -> mm-dd-yy
3 = CDN format -> dd-mm-yy (default)
NOTE : the $$SYS.DD/DM/DY vars aply *only* to CDN format!
Bug fixes :
- Fixed 10 enforcer hits, only 1 of which was of any real danger,
and you can thank Giuseppe Chillemi for pointing them out to me.
Gui4Cli is now clean with Enforcer (until the next bug..)
Also fixed an enforcer hit in c:gui.
- Not actually a bug.. Now RUN will also receive a console which
will be opened every time something is RUN.
- Got the SAS 6.58 patch and recompiled, optimized and caught a
few other small bugs too..
- LVSearch will now stop at every string found - if there are many
instances of a string in a lv line. The $$search.pos etc internal
vars will show the position & length correctly. ** fixed again **
- Fixed ReadVar trash if it read less than you asked for.
- xICON can now be setgad HIDE|SHOW (had forgoten to put it..)
- Fixed some GuiEditing graphics errors.
- Also xICON new positions will now be saved (again forgoten)
- SET DEBUGSTEP ON|OFF, will cause an easy requester to appear
before every command is executed (in debug mode) so you can
control execution (I used this for catching the enforcer bugs)
- Setwintitle will now work even if window is not open.
- Fixed a bug where messages returned from launches & pipes got
confused with messages replied from AREXX and could lock Gui4Cli.
- makedir will no long be confused if there is a / at the end
- Fixed bug reported by Chris Ralph, where LVINSERT increased
the total record count by 2 instead of 1
================================================================
=== VERSION 3.5 CHANGES ------------------------------------->>>
================================================================
Mathematical Abilities :
- Added mathematical expression evaluation and floating point numbers.
You can now enclose an expression in brackets with a $ in front
and Gui4Cli will evaluate it. Variables can be included :
var = $(45*7.45+($OtherVar /25))
say 'The answer is: $($var *2)\n'
Moreover, inside the brackets you can use the math functions :
abs(), sin(), cos(), tan(), log(), ln(), exp(), 'pi', etc
- BECAREFULL with variables..
You must leave a space or ')' or '(' or '\' after the var
name otherwise Gui4Cli will not read the var name correctly.
say '$($var*2)\n' <- is incorrect (the var name is "var*2")
Read more in "Important Topics"
Database ListViews :
- ListViews ca